package com.jeeplus.test.education.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.jeeplus.test.education.domain.entity.QueryCondition;
import lombok.Data;

import java.util.List;


/**
 * 教育信息数据传输对象（VO）
 *
 * @author 马贵东
 * @since 2025-03-05
 * 用于业务层数据交互和Excel导出
 */
@Data
public class EducationInfoVo {

    @ExcelIgnore
    private List<String> officesList;

    @ExcelIgnore
    private List<String> typeList;

    @ExcelIgnore
    private List<String> approveStateList;

    private String approveState;

    private String approveRemark;

    @ExcelIgnore
    private Integer id; // 主键ID

    @ExcelProperty("officeId")
    private String officeId; // 所属学院ID

    @ExcelProperty("学号")
    private String studentId; // 学元ID

    @ExcelProperty("考生号")
    private String ksh; // 考生号

    @ExcelProperty("准考证号")
    private String zkzh; // 准考证号

    @ExcelProperty("省份代码")
    private String syssdm; // 源省份代码

    @ExcelProperty("姓名")
    private String xm; // 姓名

    @ExcelProperty("性别")
    private String xb; // 性别

    @ExcelProperty("政治面貌")
    private String zzmm; // 政治面貌

    @ExcelProperty("民族")
    private String mz; // 民族

    @ExcelProperty("出生日期")
    private String csrq; // 出生日期

    @ExcelProperty("工作日期")
    private String gzrq; // 工作日期

    @ExcelProperty("毕业日期")
    private String byrq; // 毕业日期

    @ExcelProperty("毕业学校")
    private String byxx; // 毕业学校

    @ExcelProperty("语种")
    private String wyyz; // 语种

    @ExcelProperty("招生类别")
    private String zslb; // 招生类别

    @ExcelProperty("职业")
    private String zylb; // 职业

    @ExcelProperty("文化程度")
    private String whcd; // 文化程度

    @ExcelProperty("特征标致")
    private String kstzbz; // 特征标致

    @ExcelProperty("身份证号")
    private String sfzh; // 身份证号

    @ExcelProperty("邮政编码")
    private String yzbm; // 邮政编码

    @ExcelProperty("联系电话")
    private String lxdh; // 联系电话

    @ExcelProperty("通信地址")
    private String tddz; // 通信地址

    @ExcelProperty("行政区划")
    private String xzqh; // 行政区划

    @ExcelProperty("总分")
    private String zf; // 总分

    @ExcelProperty("排序总分")
    private String pxzf; // 排序总分

    @ExcelProperty("专业属性")
    private String tdzysxdm; // 专业属性

    @ExcelProperty("报考专业属性")
    private String bkszysxdm; // 报考专业属性

    @ExcelProperty("tdfs")
    private String tdfs; // 投档专业属性

    @ExcelProperty("投档院校属性")
    private String tdyy; // 投档院校属性

    @ExcelProperty("院校代码")
    private String yxdm; // 院校代码

    @ExcelProperty("投档专业")
    private String tdzy; // 投档专业

    @ExcelProperty("专业代码")
    private String zydm; // 专业代码

    @ExcelProperty("录取专业属性")
    private String lqzysx; // 录取专业属性

    @ExcelProperty("录取专业名称")
    private String lqzy; // 录取专业

    @ExcelProperty("层次")
    private String lqcc; // 层次

    @ExcelProperty("学制")
    private String xz; // 学制

    @ExcelProperty("学习形式")
    private String xxxs; // 学习形式

    @ExcelProperty("lgnf")
    private String lgnf; // 录取年份

    @ExcelProperty("考生状态")
    private String kszt; // 考生状态

    private String admissionAcademy;

    private String admissionMajor;

    private String admissionTime;

    @ExcelProperty("系统名称")
    private String sysName; // 系统名称

    @ExcelProperty("准考证号")
    private String ticketNumber; // 准考证号

    @ExcelProperty("专业名称")
    private String majorName; // 专业名称

    @ExcelProperty("科类")
    private String family; // 科类

    @ExcelProperty("工作时间")
    private String workingHours; // 工作时间

    @ExcelProperty("婚否")
    private String maritalStatus; // 婚否

    @ExcelProperty("学历")
    private String diploma; // 学历

    @ExcelProperty("所在单位或住址")
    private String unitOrAddress; // 所在单位或住址

    @ExcelProperty("通讯地址")
    private String mailAddress; // 通讯地址

    @ExcelProperty("通讯地编码")
    private String locationCode; // 通讯地编码

    @ExcelProperty("录取方式")
    private String admissionMethod; // 录取方式

    @ExcelProperty("录取时间")
    private String admissionDate; // 录取时间

    @ExcelProperty("考生特征")
    private String characteristics; // 考生特征

    @ExcelProperty("语文")
    private String chinese; // 语文

    @ExcelProperty("数学")
    private String mathematics; // 数学

    @ExcelProperty("政治")
    private String politics; // 政治

    @ExcelProperty("理化")
    private String physicalChemical; // 理化

    @ExcelProperty("大语")
    private String large; // 大语

    @ExcelProperty("高数")
    private String highNumbers; // 高数

    @ExcelProperty("教育")
    private String education; // 教育

    @ExcelProperty("民法")
    private String civilLaw; // 民法

    @ExcelProperty("道法")
    private String dow; // 道法

    @ExcelProperty("专业分")
    private String professionalDivision; // 专业分

    @ExcelProperty("照顾对象")
    private String careForTarget; // 照顾对象

    @ExcelProperty("照顾分")
    private String takingPoints; // 照顾分

    @ExcelProperty("特征分")
    private String featureClassification; // 特征分

    @ExcelProperty("投档分")
    private String levelAllocation; // 投档分

    @ExcelProperty("档案分")
    private String archiveDivision; // 档案分

    @ExcelProperty("省份")
    private String province; //省份

    @ExcelProperty("身份证号")
    private String idNumber; //身份证号

    @ExcelProperty("外语")
    private String foreign; //外语

    @ExcelProperty("史地")
    private String history; //史地

    @ExcelProperty("层次")
    private String gradation; //史地

    @ExcelProperty("年度")
    private String year; //史地

    @ExcelIgnore
    private List<QueryCondition> conditions;  // 新增条件列表

}
